這兩種都是常見的網路協定,雖然同樣都是傳送資料,但在性質上卻有很大的不同。
為了保證不會有封包遺失的狀況發生,每個封包會分配到一個唯一的識別碼和序號,也就是下圖的 Sequence number,可以讓接收端識別封包的順序和完整性,和 UDP 相比較為可靠。
那TCP是怎麼確認封包是否真的傳送到對方手中的呢?有個 Double check 的機制,也就是「三方交握(Three Way Handshake)」。
SYN(synchronous):同步封包
ACK(ACKnowledgement):確認
步驟:
(參考來源:網路)
常見的應用如下:
UDP 沒有三方交握的機制,缺乏可靠性和卻也因此能比 TCP 以更快的速度傳送資料,
常見的應用如下:
以下介紹 TCP 和 UDP 的封包結構,下面兩張圖看起來是一個表,但實際在傳送時是以一長條的 bits 去傳遞的。
TCP 封包
UDP封包